Hello Tom,
I'm well aware of what you wrote, let's say from a theoretical point of view. I'm comforted in my position due to your extensive explanation. I mainly played with my PID and feed-forward gains because it's what I understand the best. Lead-lag is also new to me and I have to handle the pros and cons step by step.
The reasons why I uploaded my test results is :
1- Share the data
2- Gain experience from the community
3- Discuss about the results and possible improvements.
I'm not an automation engineer or regulation specialist but I would like to gain experience and share it as well.
From my previous tests:
I tried to obtain a fast, responsive and precise system but I missed the stability part. Not that I wasn't aware of this principle but my lack of experience constrained me to do many tests and learn from the results. My real problem comes from method and analysis knowledge of automated systems.
Actually I have to maintain the feed-forward parameter if I want to keep the system working. This is maybe related to my low error count objective. I also uploaded new pictures of the system without Integral regulation, I gained phase margin, as expected, but my bandwidth is still very low.
I will follow your explanations and start from a new worksheet.
Test results will follow.
Again, I would like to thank you for your time and attention. This is of great value to me and for all of us, I think.
Regards,
Jerome
--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Jerome,
> Â
> Yes you can probably do better. Considering the X axis first:
> Â
> Looking at the Bode plot I'll assume you set the amplitude and cut-off frequency so you get a reasonable measurement. The idea is to stimulate the system enough at at the frequencies of interest to get an accurate measurement without going into amplifier saturation. You should also set the feedforward gains to zero when tuning servo parameters. BTW t looks like your Z bode plot was taken with too little stimulus.
> Â
> The Bandwidth (determined by where the Magnitude - blue plot - crosses the 0db line) is only about 20 Hz. Bandwidth is a measurement of how fast the servo can react to follow a moving target. If the target is moving like a sine wave then if the frequency of the sine wave is the same as the servo bandwidth, then the servo will mostly follow it 70% with about a 30% error. If the sine wave is much higher in frequency then the bandwidth then the servo will not be able to follow it at all with almost 100% error. If the frequency is much lower the servo will follow it almost perfectly with almost 0% error. So we want the bandwidth as high as possible. In your case I would expect we could increase it from 20 to 40 Hz.
> Â
> Phase margin is a measure of system stability and determined from a Bode plot by looking at how far the phase (green plot) is away from -180 degrees when the Magnitude is at 0db. If we anywhere have Magnitude of 0db and phase of -180 degrees the system will have a gain of -1 and this system inside a negative feedback loop will result in a total gain of +1.0 and we will have an oscillator - which is bad news! Note that -180 degrees and +180 degrees are the same thing. Also realize that it is possible that the Magnitude may cross the zero db line at multiple places (frequencies). If ANY of those places have phase = -180 we have an unstable system. Yours does not. Your Phase is about -140 degrees (40 degrees of phase margin).
> Â
> So the game that we play by tuning using a Bode Plot is to adjust the knobs for gains and filters to mold the Bode Plot to get the highest bandwidth with the greatest phase margin. Unfortunately is not really feasible to change the Magnitude and Phase plots to whatever we want.  We only have certain "molding" tools available (gains and filters) that we might use to affect the Magnitude in a good direction, but it may have an undesirable effect on the Phase plot (and vice ver) so there ends up being a lot of compromises and interactions. For example a low pass filter might be used to push the higher frequency magnitude plot down but then will add phase lag decreasing phase margin.
> Â
> Getting back to your plots, increasing all three PID gains by the same amount is a simple overall gain increase that will shift the Magnitude upward over the whole spectrum without changing it's shape and will also have no effect on phase.  So looking at the Bode Plot if we were to shift the blue magnitude plot upward until the crossover point was ~ 40 Hz   Then the Phase margin would actually be even better. The disadvantage is that the "bump" in the magnitude plot at about 180Hz will start to get too close to the 0db Line. You can probably keep it a bit further away by using a Lead-Lag compensator instead of the D gain. A lead lag compensator can almost always replace D gain and do a better job. D gain gives a lot of phase lead and pushes all the high frequencies forever up in magnitude. A lead-lag compensator gives phase lead (useful for adding phase margin) and only pushes up magnitude to approximately the Lag frequency and then
> stops. For more info and pictures see:
> Â
> http://www.dynomotion.com/Help/FilterScreen/FilterScreen.htm
> Â
> So you might possibly do better shooting for a crossover at 40Hz using a lead-lag compensator centered at 40Hz to give the most phase lead at that point. Try a setting the Numerators to 20Hz and the Denominators to 80Hz while setting the D Gain to zero. You may need to reduce the other gains to be able to get a stable system after doing this. Once you get a stable system in this new configuration then you will be able to get a Bode plot and see where to go from there.
> Â
> Probably more than you wanted to know, but I hope it helps.
> Â
> Regards
> TK
> Â
> Â
> Â
>
> From: Fouijar <fouijar@...>
> To: DynoMotion@yahoogroups.com
> Sent: Friday, November 4, 2011 2:52 PM
> Subject: [DynoMotion] Step Response and Bode Plot Results
>
>
> Â
> Hi Tom,
>
> I uploaded my test results on my folder. There you'll see the detailed view. But as you will see, I have to increase my phase margin. Any ideas are welcome since I would like to keep good dynamic performance without too much sacrifice. I tried the pole-zero filter but it didn't work for low frequencies.
>
> Regards,
>
> Jerome
>